package cn.icanci.loopstack.ddk.admin.dal.mapper.mapper;

import cn.icanci.loopstack.ddk.admin.dal.mapper.entity.GroupDO;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
* DdkGroupMapper
* ⚠️ 修改之后请勿使用生成器再次生成，否则会覆盖修改
*
* @author icanci
* @since 1.0 Created in 2023/01/07 15:22
*/
@Mapper
public interface GroupMapper {

    /**
     * 新增一条记录
     *
     * @param ddkGroup 新增数据
     **/
    int insert(GroupDO ddkGroup);

    /**
     * 更新一条记录
     *
     * @param ddkGroup 更新的数据
     **/
    int update(GroupDO ddkGroup);

    /**
     * 根据条件查询
     *
     * @param ddkGroup 查询条件
     **/
    List<GroupDO> selectList(GroupDO ddkGroup);

    /**
     * 分页条件查询
     *
     * @param ddkGroup 查询条件
     * @param page 页
     * @param pageSize 每页大小
     **/
    List<GroupDO> selectPage(@Param("ddkGroup") GroupDO ddkGroup, @Param("page") Integer page, @Param("pageSize") Integer pageSize);

    /**
     * 总量查询
     *
     * @param ddkGroup 查询条件
     **/
    int total(GroupDO ddkGroup);

    /**
     * 根据groupId查询数据
     * 
     * @param groupId groupId
     * @param env env
     * @return 返回查询结果
     */
    GroupDO selectByGroupId(@Param("groupId") String groupId, @Param("env") String env);

    /**
     * 根据groupName查询数据
     *
     * @param groupName groupName
     * @param env env
     * @return 返回查询结果
     */
    GroupDO selectByGroupName(@Param("groupName") String groupName, @Param("env") String env);

    GroupDO selectByGroupUuid(@Param("groupUuid") String groupUuid, @Param("env") String env);
}
